package cn.zz.veggie.persistence.dao;

import java.util.Collection;
import java.util.List;

import org.apache.ibatis.annotations.Mapper;

import cn.zz.veggie.model.domain.Category;
import cn.zz.veggie.model.query.CategoryQuery;

/**
 * 商品分类(Category)表数据库访问层
 *
 * @author zhongq
 * @since 2024-04-27 13:30:42
 */
 @Mapper
public interface CategoryDao {

   /**
     * 通过selector查询数据
     *
     * @param query queryInfo
     * @return 实例对象
     */
    int selectCount(CategoryQuery query);

   /**
     * 通过selector查询单条数据
     *
     * @param query queryInfo
     * @return 实例对象
     */
    Category selectOne(CategoryQuery query);

     /**
     * 通过selector查询数据
     *
     * @param query queryInfo
     * @return 实例对象
     */
    List<Category> select(CategoryQuery query);

    /**
     * 新增数据
     *
     * @param record 实例对象
     * @return 影响行数
     */
    int insert(Category record);

    /**
     * 批量新增数据（MyBatis原生foreach方法）
     *
     * @param record 实例对象列表
     * @return 影响行数
     */
    int insertBatch(List<Category> record);

    /**
     * 修改数据
     *
     * @param record 实例对象
     * @return 影响行数
     */
    int updateById(Category record);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    int deleteById(Integer id);

  
    /**
	 * 通过主键删除数据
	 * 
	 * @param ids
	 *            ids
	 * @return 影响行数
	 */
	int deleteByIds(Collection<Integer> ids);
}